package com.mdd.product.service;


import com.mdd.product.validate.ProductPropertyValueCreateValidate;
import com.mdd.product.validate.ProductPropertyValueUpdateValidate;
import com.mdd.product.vo.ProductPropertyValueDetailVo;
import java.util.List;
import java.util.Set;

/**
 * 商品属性值服务接口类
 * @author LikeAdmin
 */
public interface IProductPropertyValueService {

    /**
     * 商品属性值列表
     *
     * @author LikeAdmin
     * @param propertyId 属性id
     * @return PageResult<ProductPropertyValueDetailVo>
     */
    List<ProductPropertyValueDetailVo> list(Long propertyId);

    /**
     * 商品属性值新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(ProductPropertyValueCreateValidate createValidate);

    /**
     * 商品属性值编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(ProductPropertyValueUpdateValidate updateValidate);

    /**
     * 商品属性值删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Long id);

    void delByPropertyIds(List propertyIds);
    void delByPropertyIdAndNotInValues(Long propertyId, Set<Long> values);

}
